Proxmox์ VSCode Server(Code-Server) ์ค์นํ์ฌ ์๊ฒฉ ์ฝ๋ฉ ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ
Proxmox ํ์๋ฒ๋ฅผ ๊ตฌ์ถํ ๋ค ๊ฐ์ฅ ๋จผ์ ํ๊ณ ์ถ์ ์ผ ์ค ํ๋๋ ๋ฐ๋ก ์ด๋์๋ ์ ์ ๊ฐ๋ฅํ ์ฝ๋ฉ ํ๊ฒฝ์ ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ด๋ฒ ํฌ์คํธ์์๋ Proxmox ์์ VSCode Server(Code-Server)๋ฅผ ์ค์นํ๊ณ , ์ธ๋ถ์์๋ ์์ ํ๊ฒ ์ ์ํ ์ ์๋๋ก ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค.
1. ์ Proxmox์ VSCode Server๋ฅผ ์ค์นํ๋์?
- ๋๋ฐ์ด์ค ๋ ๋ฆฝ์ฑ: ํ๋ธ๋ฆฟ, ๋ ธํธ๋ถ, PC ์ด๋์๋ ๋ธ๋ผ์ฐ์ ๋ง ์์ผ๋ฉด ๋์ผํ ์ฝ๋ฉ ํ๊ฒฝ์ ์ ์ํ ์ ์์ต๋๋ค.
- ์๋ฒ ๋ฆฌ์์ค ํ์ฉ: ์ ์ฌ์ ๋ ธํธ๋ถ์์๋ ์๋ฒ์ ๊ฐ๋ ฅํ CPU์ RAM์ ์ฌ์ฉํ์ฌ ๋น๋ ๋ฐ ํ ์คํธ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
- Proxmox์ ์ ์ฐ์ฑ: LXC ์ปจํ ์ด๋๋ VM์ผ๋ก ๊ฐ๋ณ๊ฒ ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ ์ ์์ด ์์คํ ์ด ๊น๋ํฉ๋๋ค.
2. ์ฌ์ ์ค๋น์ฌํญ
- Proxmox ์๋ฒ๊ฐ ์ค์น๋์ด ์์ด์ผ ํฉ๋๋ค. (์์ง ์ค์น ์ ์ด๋ผ๋ฉด Proxmox ํ์๋ฒ ๋ง๋ค๊ธฐ ์ฐธ๊ณ )
- Ubuntu LXC ์ปจํ ์ด๋ ๋๋ VM (์ด ๊ฐ์ด๋์์๋ ๊ฐ๋ฒผ์ด LXC ์ปจํ ์ด๋ ๊ธฐ์ค์ ๋๋ค.)
- Docker ์ค์น (๊ถ์ฅ)
3. VSCode Server (Code-Server) ์ค์นํ๊ธฐ
๊ฐ์ฅ ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด Docker Compose ๋ฐฉ์์ ์ถ์ฒํฉ๋๋ค.
3.1 Docker Compose ํ์ผ ์์ฑ
LXC ๋ด ์ ์ ํ ์์น์ docker-compose.yml ํ์ผ์ ์์ฑํฉ๋๋ค.
version: "3"
services:
code-server:
image: codercom/code-server:latest
container_name: code-server
environment:
- PASSWORD=your_secure_password # ์ ์ ๋น๋ฐ๋ฒํธ ์ค์
- TZ=Asia/Seoul
volumes:
- ./config:/home/coder/.config
- ./project:/home/coder/project # ์ฝ๋๊ฐ ์ ์ฅ๋ ํด๋
ports:
- 8080:8080
restart: unless-stopped3.2 ์ปจํ ์ด๋ ์คํ
docker compose up -d์ด์ ๋ด๋ถ ๋คํธ์ํฌ์์ http://[LXC-IP]:8080์ผ๋ก ์ ์ํ์ฌ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ๋ฉด VSCode ํ๋ฉด์ ๋ณผ ์ ์์ต๋๋ค.
4. ์ธ๋ถ ์ ์ ์ค์ (Nginx Proxy Manager)
์ง ๋ฐ์์๋ ์ ์ํ๋ ค๋ฉด ๋๋ฉ์ธ ์ฐ๊ฒฐ๊ณผ SSL ๋ณด์ ์ค์ ์ด ํ์์ ๋๋ค.
- Nginx Proxy Manager(NPM) ๊ด๋ฆฌ ํ์ด์ง์ ์ ์ํฉ๋๋ค. (NPM ์ค์น ๋ฐฉ๋ฒ ๋ฐ๋ก๊ฐ๊ธฐ)
- Proxy Host๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- Domain Names:
vscode.yourdomain.com - Scheme:
http - Forward Hostname / IP: VSCode Server๊ฐ ์ค์น๋ LXC์ IP
- Forward Port:
8080 - Websockets Support: ๋ฐ๋์ ์ฒดํฌ (VSCode์ ํฐ๋ฏธ๋ ๋ฐ ์ค์๊ฐ ๊ธฐ๋ฅ์ ์ํด ํ์์ ๋๋ค.)
- Domain Names:
- SSL ํญ์์ Let's Encrypt ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ๋ฐ์ ์ ์ฉํฉ๋๋ค.
5. ํธ๋ฌ๋ธ์ํ ๋ฐ ํ
ํฐ๋ฏธ๋์ด ์๋ํ์ง ์๋์?
NPM ์ค์ ์์ Websockets Support๋ฅผ ํ์ฑํํ๋์ง ๋ค์ ํ์ธํ์ธ์. VSCode์ ๋ธ๋ผ์ฐ์ ๊ฐ์ ํต์ ์ ์น์์ผ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
๊ถํ ๋ฌธ์ (Permission Denied)
Docker ๋ณผ๋ฅจ์ผ๋ก ์ฐ๊ฒฐ๋ ํด๋์ ๊ถํ์ด coder ์ ์(UID 1000)์๊ฒ ์๋์ง ํ์ธํ์ธ์.
sudo chown -R 1000:1000 ./project๋ง์น๋ฉฐ
์ด์ Proxmox ํ์๋ฒ๋ฅผ ํตํด ๋๋ง์ ํด๋ผ์ฐ๋ IDE ํ๊ฒฝ์ ๊ฐ์ถ๊ฒ ๋์์ต๋๋ค. ์ธ์ ์ด๋์๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด์ด ์ฝ๋ฉ์ ์ด์ด๊ฐ ๋ณด์ธ์!
๊ด๋ จ ํค์๋: proxmox vscode server, code-server ์ค์น, proxmox ํ์๋ฒ ๊ตฌ์ถ, nginx proxy manager vscode